python 中的逻辑运算符

从现在开始,开始了对 pyhton 这门语言的学习。

逻辑运算符其实没什么好说的,只是最近学习 python 这门语言的时候,才研究发现的一个小知识点。

逻辑运算符有什么?

关系运算符 含义 举例
and 与(全真才真) True and False == False
or 或(全假才假) True or False == True
not 非(真变假、假变真) not True == False

为什么123 and 456结果是456123 or 456结果是123

and :

​ 对于 and 首先计算第一个表达式,

​ 如果第一个表达式为真,结果为第二个表达式的结果。

​ 如果第一个表达式为假,返回假。

or

​ 对于 or 首先计算第一个表达式,

​ 如果第一个表达式为真,则返回真。

​ 如果第一个表达式为假,则返回第二个表达式的结果

所以,对于

1
123 and 456

这行代码, 遵循非零为真的原则,第一个表达式为真。那么看第二个表达式,第二个表达式也大于零,所以结果为第二个表达式的结果。所以返回

1
456

对于

1
123 or 456

这行代码,第一个表达式非零,结果为第一个表达式的结果。

Strictly speaking, the operands of the logical operators should be boolean expressions, but

Python is not very strict. Any nonzero number is interpreted as “true.”严格来讲,布尔运算符的运算数应该是布尔表达式, 但是Python并不严格。任何非0的数字都被解释成“真”。

另外,因为 123 或者 456 这两个表达式,都不是逻辑运算,表达式的值就是他本身的值。所以最后得出这样的结果。

总结

and: 从左到右计算表达式,若所有值为真,返回最后一个值。若存在假,返回第一个假值。

or: 从左到右计算表达式,返回第一个为真的值。

CepheusSun wechat
订阅我的公众号,每次更新我都不一定会告诉你!
坚持原创技术分享,您的支持将鼓励我继续创作!
0%